package cn.seaboot.admin.excel.bean;

import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.v3.oas.annotations.media.Schema;

import javax.validation.constraints.Size;
import java.io.Serializable;

/**
* POJO
* Excel表头 [t_excel_header]
* @author ChenSS on 2018/6/20.
*/
@Schema(description = "Excel表头 [t_excel_header] 实体类")
public class ExcelHeader implements Serializable {

    /**
    * ID
    */
    @Schema(description = "ID")
    @JsonFormat(shape = JsonFormat.Shape.STRING)
    private Long id;
    /**
    * 工程ID
    */
    @Schema(description = "工程ID")
    private Long excelId;
    /**
    * 字段名
    */
    @Size(max = 16)
    @Schema(description = "字段名")
    private String fieldName;
    /**
    * 字段标签
    */
    @Size(max = 16)
    @Schema(description = "字段标签")
    private String fieldLabel;
    /**
    * 字段全类名
    */
    @Size(max = 64)
    @Schema(description = "字段全类名")
    private String fieldType;
    /**
    * 是否允许为空
    */
    @Schema(description = "是否允许为空")
    private Boolean nullable;
    /**
    * 排序
    */
    @Schema(description = "排序")
    private Integer orderBy;
    /**
    * 简短的注释
    */
    @Size(max = 64)
    @Schema(description = "简短的注释")
    private String comment;
    /**
    * 字符最大长度
    */
    @Schema(description = "字符最大长度")
    private Integer maxLength;
    /**
    * 默认值
    */
    @Size(max = 32)
    @Schema(description = "默认值")
    private String defaultValue;
    /**
    * 数值长度
    */
    @Schema(description = "数值长度")
    private Integer numericPrecision;
    /**
    * 数字小数长度
    */
    @Schema(description = "数字小数长度")
    private Integer numericScale;


    public Long getId() {
        return id;
    }

    public void setId(Long id) {
        this.id = id;
    }

    public Long getExcelId() {
        return excelId;
    }

    public void setExcelId(Long excelId) {
        this.excelId = excelId;
    }

    public String getFieldName() {
        return fieldName;
    }

    public void setFieldName(String fieldName) {
        this.fieldName = fieldName;
    }

    public String getFieldLabel() {
        return fieldLabel;
    }

    public void setFieldLabel(String fieldLabel) {
        this.fieldLabel = fieldLabel;
    }

    public String getFieldType() {
        return fieldType;
    }

    public void setFieldType(String fieldType) {
        this.fieldType = fieldType;
    }

    public Boolean getNullable() {
        return nullable;
    }

    public void setNullable(Boolean nullable) {
        this.nullable = nullable;
    }

    public Integer getOrderBy() {
        return orderBy;
    }

    public void setOrderBy(Integer orderBy) {
        this.orderBy = orderBy;
    }

    public String getComment() {
        return comment;
    }

    public void setComment(String comment) {
        this.comment = comment;
    }

    public Integer getMaxLength() {
        return maxLength;
    }

    public void setMaxLength(Integer maxLength) {
        this.maxLength = maxLength;
    }

    public String getDefaultValue() {
        return defaultValue;
    }

    public void setDefaultValue(String defaultValue) {
        this.defaultValue = defaultValue;
    }

    public Integer getNumericPrecision() {
        return numericPrecision;
    }

    public void setNumericPrecision(Integer numericPrecision) {
        this.numericPrecision = numericPrecision;
    }

    public Integer getNumericScale() {
        return numericScale;
    }

    public void setNumericScale(Integer numericScale) {
        this.numericScale = numericScale;
    }
}
